package com.yxx.business.mapper;

import java.util.List;

import com.yxx.business.entity.TbMaterialProductionPhaseDo;
import com.yxx.business.entity.TbMaterialProductionPhaseQueryDto;
import com.yxx.common.core.mapper.BaseMapperPlus;
import org.springframework.stereotype.Repository;

/**
 * 建材生产运输阶段Mapper接口
 *
 * @author yxx
 * @date 2025-08-16
 */
@Repository
public interface TbMaterialProductionPhaseMapper extends BaseMapperPlus<TbMaterialProductionPhaseDo> {

    /**
     * 查询建材生产运输阶段列表
     *
     * @param tbMaterialProductionPhaseQueryDto 建材生产运输阶段查询实体
     * @return 建材生产运输阶段集合
     */
    public List<TbMaterialProductionPhaseDo> selectTbMaterialProductionPhaseList(TbMaterialProductionPhaseQueryDto tbMaterialProductionPhaseQueryDto);

    /**
     * 查询建材生产运输阶段
     *
     * @param productionId 建材生产运输阶段主键
     * @return 建材生产运输阶段单个
     */
    public TbMaterialProductionPhaseDo selectTbMaterialProductionPhaseByProductionId(Long productionId);

    /**
     * 新增建材生产运输阶段
     *
     * @param tbMaterialProductionPhaseDo 建材生产运输阶段数据库实体
     * @return 结果
     */
    public int insertTbMaterialProductionPhase(TbMaterialProductionPhaseDo tbMaterialProductionPhaseDo);

    /**
     * 修改建材生产运输阶段
     *
     * @param tbMaterialProductionPhaseDo 建材生产运输阶段数据库实体
     * @return 结果
     */
    public int updateTbMaterialProductionPhase(TbMaterialProductionPhaseDo tbMaterialProductionPhaseDo);

    /**
     * 删除建材生产运输阶段
     *
     * @param productionId 建材生产运输阶段主键
     * @return 结果
     */
    public int deleteTbMaterialProductionPhaseByProductionId(Long productionId);

    /**
     * 批量删除建材生产运输阶段
     *
     * @param productionIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTbMaterialProductionPhaseByProductionIds(List<Long> productionIds);
}
